package org.NooLab.glue.instances;

import org.NooLab.glue.components.pkg.TaskPackage;
import org.NooLab.glue.msgframe.XRegistration;


/** 
 * this manages storing, sending, retrying, etc on its own, even after restart;<br/> 
 * 
 * once the "client" has provided the package, the client may forget about it
 * 
 */
public interface ParticipantsDeliveryPadIntf {

	public String createNotificationForMessageBoard( XRegistration xRegistration);
	
	public int put( String deliveryReceipt,  long transactID, TaskPackage resultPackage) ;
	
	public void digestingConfirmation( long transactionID ) ;
	
	/** -1=nothing happen, -3=index did not exist, 0=removed successfully.  */
	public int removeDeliveryProcess( long transactID);
	
	/** if a message takes really long, the board should confirm that receiving is still ongoing */
	public void resetDeliveryWaiting( long transactionID );
	
	public void close();
	
}
